home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / machserver / tests / stdioCopy / copy.c < prev    next >
Encoding:
C/C++ Source or Header  |  1991-12-13  |  1.2 KB  |  59 lines

  1. /* Yet another test copy program, this time using stdio. */
  2.  
  3. #ifndef lint
  4. static char rcsid[] = "$Header: /r3/kupfer/spriteserver/tests/stdioCopy/RCS/copy.c,v 1.1 91/12/12 22:45:52 kupfer Exp $";
  5. #endif
  6.  
  7. #include <sprite.h>
  8. #include <stdio.h>
  9. #include <stdlib.h>
  10.  
  11. static void CopyFile();
  12.  
  13. int
  14. main(argc, argv)
  15.     int argc;
  16.     char *argv[];
  17. {
  18.     if (argc != 3) {
  19.     fprintf(stderr, "usage: copy from to\n");
  20.     exit(1);
  21.     }
  22.     CopyFile(argv[1], argv[2]);
  23.     
  24.     return 0;
  25. }
  26.  
  27. static void
  28. CopyFile(fromFileName, toFileName)
  29.     char *fromFileName;
  30.     char *toFileName;
  31. {
  32.     FILE *fromPtr;
  33.     FILE *toPtr;
  34.     Address buffer;
  35.     int bufferSize;        /* number of bytes in buffer */
  36.  
  37.     fromPtr = fopen(fromFileName, "r");
  38.     if (fromPtr == NULL) {
  39.     fprintf(stderr, "Can't open %s for reading\n", fromFileName);
  40.     exit(1);
  41.     }
  42.     toPtr = fopen(toFileName, "w+");
  43.     if (toPtr == NULL) {
  44.     fprintf(stderr, "Can't open %s for writing\n", toFileName);
  45.     exit(1);
  46.     }
  47.  
  48.     bufferSize = 512;
  49.     buffer = malloc(bufferSize);
  50.     if (buffer == NULL) {
  51.     fprintf(stderr, "Couldn't malloc buffer\n");
  52.     exit(1);
  53.     }
  54.  
  55.     while (fgets(buffer, bufferSize, fromPtr) != NULL) {
  56.     fputs(buffer, toPtr);
  57.     }
  58. }
  59.